home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / kernel / dev / devDiskStats.h < prev    next >
C/C++ Source or Header  |  1992-12-18  |  2KB  |  51 lines

  1. /*
  2.  * devDiskStats.h --
  3.  *
  4.  *    Declarations of routines for collecting statistics on Sprite disk 
  5.  *    usage.
  6.  *
  7.  * Copyright 1989 Regents of the University of California
  8.  * Permission to use, copy, modify, and distribute this
  9.  * software and its documentation for any purpose and without
  10.  * fee is hereby granted, provided that the above copyright
  11.  * notice appear in all copies.  The University of California
  12.  * makes no representations about the suitability of this
  13.  * software for any purpose.  It is provided "as is" without
  14.  * express or implied warranty.
  15.  *
  16.  * $Header: /cdrom/src/kernel/Cvsroot/kernel/dev/devDiskStats.h,v 9.3 91/04/16 17:12:54 jhh Exp $ SPRITE (Berkeley)
  17.  */
  18.  
  19. #ifndef _DISKSTATS
  20. #define _DISKSTATS
  21.  
  22. #include <user/sysStats.h>
  23. #include <user/fs.h>
  24.  
  25. /*
  26.  * This structure is used for disk stats instead of a straignt Sys_DiskStats
  27.  * because otherwise for some types of disks (SCSI), there is no place to
  28.  * keep the busy info.  This field is wasted on the xylogics.
  29.  */
  30. typedef struct  DevDiskStats {
  31.     Sync_Semaphore    mutex;        /* syncrhonize stat updates */
  32.     int             busy;        /* For idle check. */
  33.     Sys_DiskStats     diskStats;    /* Stat structure of device. */
  34. } DevDiskStats;
  35.  
  36.  
  37. /* procedures */
  38.  
  39. extern DevDiskStats *DevRegisterDisk _ARGS_((Fs_Device *devicePtr,
  40.     char *deviceName,
  41.     Boolean (*idleCheck) _ARGS_ ((ClientData clientData,
  42.                                 DevDiskStats *diskStatsPtr)),
  43.     ClientData clientData));
  44. extern void DevDiskUnregister _ARGS_((DevDiskStats *diskStatsPtr));
  45. extern void DevPrintIOStats _ARGS_((Timer_Ticks time, ClientData clientData));
  46. extern void Dev_StartIOStats _ARGS_((void));
  47. extern void Dev_StopIOStats _ARGS_((void));
  48.  
  49. #endif /* _DISKSTATS */
  50.  
  51.